package cn.edu.wynu.arraylist;

import java.util.ArrayList;
import java.util.Scanner;

// 2、设计一个菜品操作类FoodOperator，负责完成对菜品的业务实现：菜品上架、菜品信息浏览。
// 菜品操作类，负责上架和浏览功能的实现
public class FoodOperator {
    // (1)定义一个ArrayList集合对象，负责存储菜品对象信息
    private ArrayList<Food> foodList = new ArrayList<>();// 成员变量
    // foodList = []

    // (2)开发功能，上架菜品功能
    public void addFood(){
        // (3)创建菜品对象，封装上架的菜品信息
        Food f = new Food();

        Scanner sc = new Scanner(System.in);
        // (4)录入菜品信息进去
        System.out.println("请输入菜名:");
        String name = sc.next();
        f.setName(name);

        System.out.println("请输入价格:");
        double price = sc.nextDouble();
        f.setPrice(price);

        System.out.println("请输入描述:");
        String desc = sc.next();
        f.setDesc(desc);

        // (5)将菜品对象添加到集合中
        foodList.add(f);
        System.out.println("上架成功！");
    }

    // (6)开发功能，浏览菜品功能（展示菜品信息）
    // foodList = [f1,f2,f3,...]
    public void showAllFoods(){
        // (7)判断集合是否为空，为空，则提示“暂无菜品”
        if(foodList.size() == 0){
            System.out.println("暂无菜品，请先上架菜品！");
            return;
        }

        // (8)遍历集合，获取每一个菜品对象，并输出信息
        for(int i = 0; i < foodList.size(); i++){
            Food f = foodList.get(i);
            System.out.println("菜名：" + f.getName());
            System.out.println("价格：" + f.getPrice());
            System.out.println("描述：" + f.getDesc());
            System.out.println("------------------------------------------------");
        }
    }

    // 负责展示操作界面
    public void start(){
        while (true) {
            System.out.println("欢迎使用菜品管理系统，请选择相应的功能!");
            System.out.println("1、上架菜品");
            System.out.println("2、浏览菜品");
            System.out.println("3、退出系统");

            Scanner sc = new Scanner(System.in);
            System.out.println("请输入你的选择：");
            String command = sc.next();
            switch(command){
                case "1":
                    addFood();
                    break;
                case "2":
                    showAllFoods();
                    break;
                case "3":
                    System.out.println("退出系统");
                    return; // 结束方法，回到上一级菜单
                default:
                    System.out.println("输入错误，请重新输入！");
            }
        }
    }
}
